Consolidate workbench slices, provider groundwork, and PR 76 fixes#79
Consolidate workbench slices, provider groundwork, and PR 76 fixes#79KSemenenko merged 8 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Consolidates multiple stacked branches into a single cohesive baseline by (1) cleaning up backlog/issue metadata leaking into runtime-facing snapshots, (2) improving toolchain probing + catalog lifecycle behavior, and (3) restructuring tests (unit + UI harness) around clearer vertical-slice and harness boundaries while restoring missing UI-test build inputs.
Changes:
- Remove/replace backlog-derived labels in runtime snapshots and update related tests/docs.
- Improve toolchain probing reliability (launch detection, redirected output handling) and make toolchain catalog polling/disposal more robust.
- Reorganize UI-test harness namespaces and unit test namespaces into slice-based structure; add deterministic identities for stable provider/artifact IDs.
Reviewed changes
Copilot reviewed 40 out of 40 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| vertical-slice-runtime-foundation.plan.md | Removed obsolete runtime-foundation slice plan doc from repo root. |
| pr-76-review-followup.plan.md | Added follow-up plan capturing PR #76 review fixes/verification. |
| issue-23-communication-contracts.plan.md | Removed obsolete issue #23 plan doc. |
| issue-22-domain-model.plan.md | Removed obsolete issue #22 plan doc. |
| docs/Architecture.md | Updates composition diagram to reflect revised runtime/toolchain relationships. |
| consolidate-codex-branches.plan.md | Added plan documenting branch consolidation + UI harness regression fix. |
| DotPilot.UITests/Harness/Tests/BrowserTestHostTests.cs | Moves harness self-tests into DotPilot.UITests.Harness namespace. |
| DotPilot.UITests/Harness/Tests/BrowserAutomationBootstrapTests.cs | Same namespace consolidation for bootstrap tests. |
| DotPilot.UITests/Harness/Tests/BoundedCleanupTests.cs | Same namespace consolidation for cleanup tests. |
| DotPilot.UITests/Harness/TestBase.cs | Moves core UI test base into Harness namespace. |
| DotPilot.UITests/Harness/HarnessLog.cs | Moves harness logging into Harness namespace. |
| DotPilot.UITests/Harness/Constants.cs | Moves harness constants into Harness namespace. |
| DotPilot.UITests/Harness/BrowserTestHost.cs | Moves browser host bootstrapper into Harness namespace. |
| DotPilot.UITests/Harness/BrowserTestEnvironment.cs | Moves browser environment helpers into Harness namespace. |
| DotPilot.UITests/Harness/BrowserAutomationBootstrap.cs | Moves automation bootstrapper into Harness namespace. |
| DotPilot.UITests/Harness/BoundedCleanup.cs | Moves bounded cleanup helper into Harness namespace. |
| DotPilot.UITests/Features/ApplicationShell/Given_MainPage.cs | Refactors main end-to-end UI test into Workbench-focused test class using harness namespace. |
| DotPilot.UITests/AGENTS.md | Updates UITest governance/docs to reflect harness + feature folder boundaries. |
| DotPilot.Tests/Features/Workbench/WorkbenchCatalogTests.cs | Moves test namespace under slice-based DotPilot.Tests.Features.*. |
| DotPilot.Tests/Features/Workbench/TemporaryWorkbenchDirectory.cs | Same slice-based namespace move for helper. |
| DotPilot.Tests/Features/Workbench/PresentationViewModelTests.cs | Updates expectations to match new runtime/provider snapshot semantics; moves namespace. |
| DotPilot.Tests/Features/ToolchainCenter/ToolchainProviderSnapshotFactoryTests.cs | Expands readiness/health summary coverage with launch-availability dimension. |
| DotPilot.Tests/Features/ToolchainCenter/ToolchainCommandProbeTests.cs | Adds probe tests for non-launchable resolved paths and large redirected output. |
| DotPilot.Tests/Features/ToolchainCenter/ToolchainCenterCatalogTests.cs | Updates expectations for new labels + adds idempotent disposal test. |
| DotPilot.Tests/Features/RuntimeFoundation/RuntimeFoundationCatalogTests.cs | Updates epic/slice labels, adds determinism + caching/identity stability assertions. |
| DotPilot.Tests/Features/RuntimeCommunication/RuntimeCommunicationProblemsTests.cs | Moves test namespace under slice-based structure. |
| DotPilot.Tests/Features/HttpDiagnostics/DebugHttpHandlerTests.cs | Moves test namespace under slice-based structure. |
| DotPilot.Tests/Features/ControlPlaneDomain/ControlPlaneDomainContractsTests.cs | Removes user-specific absolute path in fixture; moves namespace under slice-based structure. |
| DotPilot.Tests/Features/ApplicationShell/AppConfigTests.cs | Renames/moves app config test to slice-based structure. |
| DotPilot.Tests/AGENTS.md | Updates unit-test governance to reflect slice-based test organization. |
| DotPilot.Runtime/Features/ToolchainCenter/ToolchainProviderSnapshotFactory.cs | Introduces launch-availability semantics and improved summaries/diagnostics. |
| DotPilot.Runtime/Features/ToolchainCenter/ToolchainProviderProfiles.cs | Adds section labels per provider profile (CODEX/CLAUDE/GITHUB). |
| DotPilot.Runtime/Features/ToolchainCenter/ToolchainProviderProfile.cs | Extends provider profile contract with SectionLabel. |
| DotPilot.Runtime/Features/ToolchainCenter/ToolchainCommandProbe.cs | Adds version probe result (launch tracking) and safer redirected IO handling. |
| DotPilot.Runtime/Features/ToolchainCenter/ToolchainCenterCatalog.cs | Makes polling snapshot access thread-safe and disposal idempotent + blocking wait. |
| DotPilot.Runtime/Features/RuntimeFoundation/RuntimeFoundationDeterministicIdentity.cs | Adds deterministic IDs + fixed timestamps for repeatable artifacts/providers. |
| DotPilot.Runtime/Features/RuntimeFoundation/RuntimeFoundationCatalog.cs | Removes external provider list from runtime foundation snapshot; caches deterministic provider list; updates labels. |
| DotPilot.Runtime/Features/RuntimeFoundation/ProviderToolchainProbe.cs | Switches provider ID creation to deterministic identity. |
| DotPilot.Runtime/Features/RuntimeFoundation/DeterministicAgentRuntimeClient.cs | Uses deterministic IDs/timestamps and throws UnreachableException for unknown modes. |
| AGENTS.md | Strengthens repo governance (no machine-specific paths, test structure rules, and backlog-metadata restrictions). |
Comments suppressed due to low confidence (1)
DotPilot.UITests/Features/ApplicationShell/Given_MainPage.cs:6
- This file lives under
Features/ApplicationShell/but its namespace isDotPilot.UITests.Features.Workbenchand the class isGivenWorkbenchShell. To keep the new slice-based UI test layout consistent (and make discovery/navigation easier), move/rename the file to a matchingFeatures/Workbench/path (and update any docs that list entry points) or adjust the namespace/class name to match the current folder.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
DotPilot.Runtime/Features/ToolchainCenter/ToolchainCommandProbe.cs
Outdated
Show resolved
Hide resolved
DotPilot.Runtime/Features/ToolchainCenter/ToolchainProviderSnapshotFactory.cs
Show resolved
Hide resolved
DotPilot.Runtime/Features/ToolchainCenter/ToolchainCenterCatalog.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fbe39c8bf4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
Verification
Refs #13
Refs #15